/*     */ package com.zimbra.cs.index.analysis;
/*     */ 
/*     */ import java.io.IOException;
/*     */ import java.io.InputStream;
/*     */ import java.io.InputStreamReader;
/*     */ import java.io.Reader;
/*     */ import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ final class UniversalLexer
/*     */ {
/*     */   public static final int YYEOF = -1;
/*     */   private static final int ZZ_BUFFERSIZE = 16384;
/*     */   public static final int YYINITIAL = 0;
/*  47 */   private static final int[] ZZ_LEXSTATE = { 0, 0 };
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   private static final String ZZ_CMAP_PACKED = "\t\000\001\000\001\004\001\000\001\000\001\003\022\000\001\000\005\000\001\f\001\007\004\000\001\n\001\t\001\013\001\n\n\005\006\000\001\r\032\002\004\000\001\b\001\000\032\002/\000\001\002\n\000\001\002\004\000\001\002\005\000\027\002\001\000\037\002\001\000Ŀ\002\031\000r\002\004\000\f\002\016\000\005\002\t\000\001\002\000\001\002\013\000\001\002\001\000\003\002\001\000\001\002\001\000\024\002\001\000,\002\001\000&\002\001\000\005\002\004\000\002\b\000E\002\001\000&\002\002\000\002\002\006\000\020\002!\000&\002\002\000\001\002\007\000'\002H\000\033\002\005\000\003\002.\000\032\002\005\000\013\002\025\000\n\005\004\000\002\002\001\000c\002\001\000\001\002\017\000\002\002\007\000\002\002\n\005\003\002\002\000\001\002\020\000\001\002\001\000\036\002\035\000\003\0020\000&\002\013\000\001\002Œ\0006\002\003\000\001\002\022\000\001\002\007\000\n\002\004\000\n\005\025\000\b\002\002\000\002\002\002\000\026\002\001\000\007\002\001\000\001\002\003\000\004\002\003\000\001\002\036\000\002\002\001\000\003\002\004\000\n\005\002\002\023\000\006\002\004\000\002\002\002\000\026\002\001\000\007\002\001\000\002\002\001\000\002\002\001\000\002\002\037\000\004\002\001\000\001\002\007\000\n\005\002\000\003\002\020\000\t\002\001\000\003\002\001\000\026\002\001\000\007\002\001\000\002\002\001\000\005\002\003\000\001\002\022\000\001\002\017\000\002\002\004\000\n\005\025\000\b\002\002\000\002\002\002\000\026\002\001\000\007\002\001\000\002\002\001\000\005\002\003\000\001\002\036\000\002\002\001\000\003\002\004\000\n\005\001\000\001\002\021\000\001\002\001\000\006\002\003\000\003\002\001\000\004\002\003\000\002\002\001\000\001\002\001\000\002\002\003\000\002\002\003\000\003\002\003\000\b\002\001\000\003\002-\000\t\005\025\000\b\002\001\000\003\002\001\000\027\002\001\000\n\002\001\000\005\002&\000\002\002\004\000\n\005\025\000\b\002\001\000\003\002\001\000\027\002\001\000\n\002\001\000\005\002\003\000\001\002 \000\001\002\001\000\002\002\004\000\n\005\025\000\b\002\001\000\003\002\001\000\027\002\001\000\020\002&\000\002\002\004\000\n\005\025\000\022\002\003\000\030\002\001\000\t\002\001\000\001\002\002\000\007\002:\0000\002\001\000\002\002\f\000\007\002\t\000\n\005'\000\002\002\001\000\001\002\002\000\002\002\001\000\001\002\002\000\001\002\006\000\004\002\001\000\007\002\001\000\003\002\001\000\001\002\001\000\001\002\002\000\002\002\001\000\004\002\001\000\002\002\t\000\001\002\002\000\005\002\001\000\001\002\t\000\n\005\002\000\002\002\"\000\001\002\037\000\n\005\026\000\b\002\001\000\"\002\035\000\004\002t\000\"\002\001\000\005\002\001\000\002\002\025\000\n\005\006\000\006\002J\000&\002\n\000)\002\007\000Z\002\005\000D\002\005\000R\002\006\000\007\002\001\000?\002\001\000\001\002\001\000\004\002\002\000\007\002\001\000\001\002\001\000\004\002\002\000'\002\001\000\001\002\001\000\004\002\002\000\037\002\001\000\001\002\001\000\004\002\002\000\007\002\001\000\001\002\001\000\004\002\002\000\007\002\001\000\007\002\001\000\027\002\001\000\037\002\001\000\001\002\001\000\004\002\002\000\007\002\001\000'\002\001\000\023\002\016\000\t\005.\000U\002\f\000ɬ\002\002\000\b\002\n\000\032\002\005\000K\002\025\000\r\002\001\000\004\002\016\000\022\002\016\000\022\002\016\000\r\002\001\000\003\002\017\0004\002#\000\001\002\004\000\001\002\003\000\n\005&\000\n\005\006\000X\002\b\000)\002W\000\035\002)\000\n\005\036\002\002\000\005\002΋\000l\002\000\002\004\000Z\002\006\000\026\002\002\000\006\002\002\000&\002\002\000\006\002\002\000\b\002\001\000\001\002\001\000\001\002\001\000\001\002\001\000\037\002\002\0005\002\001\000\007\002\001\000\001\002\003\000\003\002\001\000\007\002\003\000\004\002\002\000\006\002\004\000\r\002\005\000\003\002\001\000\007\002t\000\001\002\r\000\001\002\000\001\002\004\000\001\002\002\000\n\002\001\000\001\002\003\000\005\002\006\000\001\002\001\000\001\002\001\000\001\002\001\000\004\002\001\000\003\002\001\000\007\002\003\000\003\002\005\000\005\002ശ\000ƀ\001\005\000\002\002*\000\005\002\005\000\002\002\003\000\001\001V\001\006\001\003\001\001\001Z\001\001\001\004\001\005\001(\001\004\001^\001\021\001\030\0018\001\020\001Ȁ\001ᦶ\001J\001冦\001Z\001ҍ\002ݳ\000⮤\001\\\001℀\000Į\002\002\000;\002\000\007\002\f\000\005\002\005\000\001\002\001\000\n\002\001\000\r\002\001\000\005\002\001\000\001\002\001\000\002\002\001\000\002\002\001\000l\002!\000ū\002\022\000@\002\002\0006\002(\000\f\002t\000\005\002\001\000\002\003\000\020\001\n\006\007\001\032\001\006\001\032\001\013\001Y\001\003\001\006\001\002\001\006\001\002\001\006\001\002\001\003\001\023\001\020\000";
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/* 121 */   private static final char[] ZZ_CMAP = zzUnpackCMap("\t\000\001\000\001\004\001\000\001\000\001\003\022\000\001\000\005\000\001\f\001\007\004\000\001\n\001\t\001\013\001\n\n\005\006\000\001\r\032\002\004\000\001\b\001\000\032\002/\000\001\002\n\000\001\002\004\000\001\002\005\000\027\002\001\000\037\002\001\000Ŀ\002\031\000r\002\004\000\f\002\016\000\005\002\t\000\001\002\000\001\002\013\000\001\002\001\000\003\002\001\000\001\002\001\000\024\002\001\000,\002\001\000&\002\001\000\005\002\004\000\002\b\000E\002\001\000&\002\002\000\002\002\006\000\020\002!\000&\002\002\000\001\002\007\000'\002H\000\033\002\005\000\003\002.\000\032\002\005\000\013\002\025\000\n\005\004\000\002\002\001\000c\002\001\000\001\002\017\000\002\002\007\000\002\002\n\005\003\002\002\000\001\002\020\000\001\002\001\000\036\002\035\000\003\0020\000&\002\013\000\001\002Œ\0006\002\003\000\001\002\022\000\001\002\007\000\n\002\004\000\n\005\025\000\b\002\002\000\002\002\002\000\026\002\001\000\007\002\001\000\001\002\003\000\004\002\003\000\001\002\036\000\002\002\001\000\003\002\004\000\n\005\002\002\023\000\006\002\004\000\002\002\002\000\026\002\001\000\007\002\001\000\002\002\001\000\002\002\001\000\002\002\037\000\004\002\001\000\001\002\007\000\n\005\002\000\003\002\020\000\t\002\001\000\003\002\001\000\026\002\001\000\007\002\001\000\002\002\001\000\005\002\003\000\001\002\022\000\001\002\017\000\002\002\004\000\n\005\025\000\b\002\002\000\002\002\002\000\026\002\001\000\007\002\001\000\002\002\001\000\005\002\003\000\001\002\036\000\002\002\001\000\003\002\004\000\n\005\001\000\001\002\021\000\001\002\001\000\006\002\003\000\003\002\001\000\004\002\003\000\002\002\001\000\001\002\001\000\002\002\003\000\002\002\003\000\003\002\003\000\b\002\001\000\003\002-\000\t\005\025\000\b\002\001\000\003\002\001\000\027\002\001\000\n\002\001\000\005\002&\000\002\002\004\000\n\005\025\000\b\002\001\000\003\002\001\000\027\002\001\000\n\002\001\000\005\002\003\000\001\002 \000\001\002\001\000\002\002\004\000\n\005\025\000\b\002\001\000\003\002\001\000\027\002\001\000\020\002&\000\002\002\004\000\n\005\025\000\022\002\003\000\030\002\001\000\t\002\001\000\001\002\002\000\007\002:\0000\002\001\000\002\002\f\000\007\002\t\000\n\005'\000\002\002\001\000\001\002\002\000\002\002\001\000\001\002\002\000\001\002\006\000\004\002\001\000\007\002\001\000\003\002\001\000\001\002\001\000\001\002\002\000\002\002\001\000\004\002\001\000\002\002\t\000\001\002\002\000\005\002\001\000\001\002\t\000\n\005\002\000\002\002\"\000\001\002\037\000\n\005\026\000\b\002\001\000\"\002\035\000\004\002t\000\"\002\001\000\005\002\001\000\002\002\025\000\n\005\006\000\006\002J\000&\002\n\000)\002\007\000Z\002\005\000D\002\005\000R\002\006\000\007\002\001\000?\002\001\000\001\002\001\000\004\002\002\000\007\002\001\000\001\002\001\000\004\002\002\000'\002\001\000\001\002\001\000\004\002\002\000\037\002\001\000\001\002\001\000\004\002\002\000\007\002\001\000\001\002\001\000\004\002\002\000\007\002\001\000\007\002\001\000\027\002\001\000\037\002\001\000\001\002\001\000\004\002\002\000\007\002\001\000'\002\001\000\023\002\016\000\t\005.\000U\002\f\000ɬ\002\002\000\b\002\n\000\032\002\005\000K\002\025\000\r\002\001\000\004\002\016\000\022\002\016\000\022\002\016\000\r\002\001\000\003\002\017\0004\002#\000\001\002\004\000\001\002\003\000\n\005&\000\n\005\006\000X\002\b\000)\002W\000\035\002)\000\n\005\036\002\002\000\005\002΋\000l\002\000\002\004\000Z\002\006\000\026\002\002\000\006\002\002\000&\002\002\000\006\002\002\000\b\002\001\000\001\002\001\000\001\002\001\000\001\002\001\000\037\002\002\0005\002\001\000\007\002\001\000\001\002\003\000\003\002\001\000\007\002\003\000\004\002\002\000\006\002\004\000\r\002\005\000\003\002\001\000\007\002t\000\001\002\r\000\001\002\000\001\002\004\000\001\002\002\000\n\002\001\000\001\002\003\000\005\002\006\000\001\002\001\000\001\002\001\000\001\002\001\000\004\002\001\000\003\002\001\000\007\002\003\000\003\002\005\000\005\002ശ\000ƀ\001\005\000\002\002*\000\005\002\005\000\002\002\003\000\001\001V\001\006\001\003\001\001\001Z\001\001\001\004\001\005\001(\001\004\001^\001\021\001\030\0018\001\020\001Ȁ\001ᦶ\001J\001冦\001Z\001ҍ\002ݳ\000⮤\001\\\001℀\000Į\002\002\000;\002\000\007\002\f\000\005\002\005\000\001\002\001\000\n\002\001\000\r\002\001\000\005\002\001\000\001\002\001\000\002\002\001\000\002\002\001\000l\002!\000ū\002\022\000@\002\002\0006\002(\000\f\002t\000\005\002\001\000\002\003\000\020\001\n\006\007\001\032\001\006\001\032\001\013\001Y\001\003\001\006\001\002\001\006\001\002\001\006\001\002\001\003\001\023\001\020\000");
/*     */   
/*     */ 
/*     */ 
/*     */ 
/* 126 */   private static final int[] ZZ_ACTION = zzUnpackAction();
/*     */   
/*     */ 
/*     */   private static final String ZZ_ACTION_PACKED_0 = "\001\000\001\001\001\002\001\003\001\001\003\003\013\000\001\004\001\000\002\005\002\006\002\007\001\000\004\005\003\006\003\000\001\b\004\000\002\005\003\006\001\t";
/*     */   
/*     */ 
/*     */   private static int[] zzUnpackAction()
/*     */   {
/* 134 */     int[] result = new int[49];
/* 135 */     int offset = 0;
/* 136 */     offset = zzUnpackAction("\001\000\001\001\001\002\001\003\001\001\003\003\013\000\001\004\001\000\002\005\002\006\002\007\001\000\004\005\003\006\003\000\001\b\004\000\002\005\003\006\001\t", offset, result);
/* 137 */     return result;
/*     */   }
/*     */   
/*     */   private static int zzUnpackAction(String packed, int offset, int[] result) {
/* 141 */     int i = 0;
/* 142 */     int j = offset;
/* 143 */     int l = packed.length();
/* 144 */     int count; for (; i < l; 
/*     */         
/*     */ 
/* 147 */         count > 0)
/*     */     {
/* 145 */       count = packed.charAt(i++);
/* 146 */       int value = packed.charAt(i++);
/* 147 */       result[(j++)] = value;count--;
/*     */     }
/* 149 */     return j;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/* 156 */   private static final int[] ZZ_ROWMAP = zzUnpackRowMap();
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */   private static final String ZZ_ROWMAP_PACKED_0 = "\000\000\000\016\000\034\000*\0008\000F\000T\000b\000p\000~\000\000\000¨\000¶\000Ä\000Ò\000à\000î\000ü\000Ċ\000Ę\000Ħ\000Ĵ\000ł\000Ő\000¨\000Ş\000Ŭ\000ź\000ƈ\000Ɩ\000Ƥ\000Ʋ\000ǀ\000ǎ\000ǜ\000Ǫ\000Ǹ\000Ȇ\000Ȕ\000Ȣ\000Ȱ\000Ⱦ\000Ɍ\000ɚ\000ɨ\000ɶ\000ʄ\000ʒ";
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */   private static int[] zzUnpackRowMap()
/*     */   {
/* 168 */     int[] result = new int[49];
/* 169 */     int offset = 0;
/* 170 */     offset = zzUnpackRowMap("\000\000\000\016\000\034\000*\0008\000F\000T\000b\000p\000~\000\000\000¨\000¶\000Ä\000Ò\000à\000î\000ü\000Ċ\000Ę\000Ħ\000Ĵ\000ł\000Ő\000¨\000Ş\000Ŭ\000ź\000ƈ\000Ɩ\000Ƥ\000Ʋ\000ǀ\000ǎ\000ǜ\000Ǫ\000Ǹ\000Ȇ\000Ȕ\000Ȣ\000Ȱ\000Ⱦ\000Ɍ\000ɚ\000ɨ\000ɶ\000ʄ\000ʒ", offset, result);
/* 171 */     return result;
/*     */   }
/*     */   
/*     */   private static int zzUnpackRowMap(String packed, int offset, int[] result) {
/* 175 */     int i = 0;
/* 176 */     int j = offset;
/* 177 */     int l = packed.length();
/* 178 */     while (i < l) {
/* 179 */       int high = packed.charAt(i++) << '\020';
/* 180 */       result[(j++)] = (high | packed.charAt(i++));
/*     */     }
/* 182 */     return j;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/* 188 */   private static final int[] ZZ_TRANS = zzUnpackTrans();
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   private static final String ZZ_TRANS_PACKED_0 = "\001\002\001\003\001\004\001\005\001\002\001\006\001\007\007\002\017\000\001\003\004\000\001\003\t\000\001\b\002\000\002\006\001\t\002\n\001\013\001\f\001\r\001\016\004\000\001\002\013\000\001\006\002\000\002\006\001\000\002\017\001\020\001\021\001\000\001\022\001\000\001\003\001\006\002\000\001\006\001\007\001\000\002\017\001\020\001\021\001\000\001\022\002\000\001\b\002\000\002\006\001\t\002\n\001\013\001\023\001\r\001\016\002\000\001\024\r\000\001\025\002\000\002\026\t\000\001\013\002\000\002\027\t\000\001\030\002\000\002\031\t\000\001\032\r\000\001\033\002\000\002\034\t\000\001\035\002\000\002\036\t\000\001\037\002\000\002 \t\000\001!\002\000\002\"\t\000\001\034\002\000\002\034\t\000\001#\002\000\002\031\t\000\001\024\004\000\001\t\b\000\001\025\002\000\002\026\001\000\002$\001\000\001$\001\000\001\022\002\000\001\026\002\000\002\026\001\000\002%\001&\001%\001\000\001\022\002\000\001\027\002\000\002\027\001\000\004&\004\000\001#\002\000\002\031\001\000\002$\001\000\001'\001\000\001\022\002\000\001\031\002\000\002\031\001\000\002%\001&\001(\001\000\001\022\002\000\001\033\002\000\002\034\002\000\001)\001\000\001)\004\000\001\034\002\000\002\034\002\000\001)\001\000\001)\004\000\001\035\002\000\002\036\001\000\002\n\001\013\001\n\001\000\001\022\002\000\001\036\002\000\002\036\001\000\002\017\001\020\001\017\001\000\001\022\002\000\001\037\002\000\002 \001\000\004\013\004\000\001 \002\000\002 \001\000\004\020\004\000\001!\002\000\002\"\001\000\002\n\001\013\001\023\001\000\001\022\002\000\001\"\002\000\002\"\001\000\002\017\001\020\001\021\001\000\001\022\002\000\001#\002\000\002\031\001\000\002$\001\000\001*\001\000\001\022\002\000\001+\002\000\002+\t\000\001,\002\000\002,\t\000\001-\002\000\002-\t\000\001.\002\000\002/\t\000\0010\002\000\0020\t\000\0011\002\000\0021\t\000\001/\002\000\002/\t\000\001+\002\000\002+\001\000\002$\001\000\001$\001\000\001\022\002\000\001,\002\000\002,\001\000\002\n\001\013\001\n\001\000\001\022\002\000\001-\002\000\002-\001\000\004\013\004\000\001/\002\000\002/\001\000\002$\001\000\001'\001\000\001\022\002\000\001/\002\000\002/\001\000\002$\001\000\001*\001\000\001\022\002\000\0010\002\000\0020\001\000\002\n\001\013\001\023\001\000\001\022\002\000\0011\002\000\0021\002\000\001)\001\000\001)\002\000";
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   private static final int ZZ_UNKNOWN_ERROR = 0;
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   private static final int ZZ_NO_MATCH = 1;
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   private static final int ZZ_PUSHBACK_2BIG = 2;
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   private static int[] zzUnpackTrans()
/*     */   {
/* 233 */     int[] result = new int['ʠ'];
/* 234 */     int offset = 0;
/* 235 */     offset = zzUnpackTrans("\001\002\001\003\001\004\001\005\001\002\001\006\001\007\007\002\017\000\001\003\004\000\001\003\t\000\001\b\002\000\002\006\001\t\002\n\001\013\001\f\001\r\001\016\004\000\001\002\013\000\001\006\002\000\002\006\001\000\002\017\001\020\001\021\001\000\001\022\001\000\001\003\001\006\002\000\001\006\001\007\001\000\002\017\001\020\001\021\001\000\001\022\002\000\001\b\002\000\002\006\001\t\002\n\001\013\001\023\001\r\001\016\002\000\001\024\r\000\001\025\002\000\002\026\t\000\001\013\002\000\002\027\t\000\001\030\002\000\002\031\t\000\001\032\r\000\001\033\002\000\002\034\t\000\001\035\002\000\002\036\t\000\001\037\002\000\002 \t\000\001!\002\000\002\"\t\000\001\034\002\000\002\034\t\000\001#\002\000\002\031\t\000\001\024\004\000\001\t\b\000\001\025\002\000\002\026\001\000\002$\001\000\001$\001\000\001\022\002\000\001\026\002\000\002\026\001\000\002%\001&\001%\001\000\001\022\002\000\001\027\002\000\002\027\001\000\004&\004\000\001#\002\000\002\031\001\000\002$\001\000\001'\001\000\001\022\002\000\001\031\002\000\002\031\001\000\002%\001&\001(\001\000\001\022\002\000\001\033\002\000\002\034\002\000\001)\001\000\001)\004\000\001\034\002\000\002\034\002\000\001)\001\000\001)\004\000\001\035\002\000\002\036\001\000\002\n\001\013\001\n\001\000\001\022\002\000\001\036\002\000\002\036\001\000\002\017\001\020\001\017\001\000\001\022\002\000\001\037\002\000\002 \001\000\004\013\004\000\001 \002\000\002 \001\000\004\020\004\000\001!\002\000\002\"\001\000\002\n\001\013\001\023\001\000\001\022\002\000\001\"\002\000\002\"\001\000\002\017\001\020\001\021\001\000\001\022\002\000\001#\002\000\002\031\001\000\002$\001\000\001*\001\000\001\022\002\000\001+\002\000\002+\t\000\001,\002\000\002,\t\000\001-\002\000\002-\t\000\001.\002\000\002/\t\000\0010\002\000\0020\t\000\0011\002\000\0021\t\000\001/\002\000\002/\t\000\001+\002\000\002+\001\000\002$\001\000\001$\001\000\001\022\002\000\001,\002\000\002,\001\000\002\n\001\013\001\n\001\000\001\022\002\000\001-\002\000\002-\001\000\004\013\004\000\001/\002\000\002/\001\000\002$\001\000\001'\001\000\001\022\002\000\001/\002\000\002/\001\000\002$\001\000\001*\001\000\001\022\002\000\0010\002\000\0020\001\000\002\n\001\013\001\023\001\000\001\022\002\000\0011\002\000\0021\002\000\001)\001\000\001)\002\000", offset, result);
/* 236 */     return result;
/*     */   }
/*     */   
/*     */   private static int zzUnpackTrans(String packed, int offset, int[] result) {
/* 240 */     int i = 0;
/* 241 */     int j = offset;
/* 242 */     int l = packed.length();
/* 243 */     int count; for (; i < l; 
/*     */         
/*     */ 
/*     */ 
/* 247 */         count > 0)
/*     */     {
/* 244 */       count = packed.charAt(i++);
/* 245 */       int value = packed.charAt(i++);
/* 246 */       value--;
/* 247 */       result[(j++)] = value;count--;
/*     */     }
/* 249 */     return j;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/* 259 */   private static final String[] ZZ_ERROR_MSG = { "Unkown internal scanner error", "Error: could not match input", "Error: pushback value was too large" };
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/* 268 */   private static final int[] ZZ_ATTRIBUTE = zzUnpackAttribute();
/*     */   private static final String ZZ_ATTRIBUTE_PACKED_0 = "\001\000\001\t\006\001\013\000\001\001\001\000\006\001\001\000\007\001\003\000\001\001\004\000\006\001";
/*     */   private Reader zzReader;
/*     */   private int zzState;
/*     */   
/*     */   private static int[] zzUnpackAttribute()
/*     */   {
/* 275 */     int[] result = new int[49];
/* 276 */     int offset = 0;
/* 277 */     offset = zzUnpackAttribute("\001\000\001\t\006\001\013\000\001\001\001\000\006\001\001\000\007\001\003\000\001\001\004\000\006\001", offset, result);
/* 278 */     return result;
/*     */   }
/*     */   
/*     */   private static int zzUnpackAttribute(String packed, int offset, int[] result) {
/* 282 */     int i = 0;
/* 283 */     int j = offset;
/* 284 */     int l = packed.length();
/* 285 */     int count; for (; i < l; 
/*     */         
/*     */ 
/* 288 */         count > 0)
/*     */     {
/* 286 */       count = packed.charAt(i++);
/* 287 */       int value = packed.charAt(i++);
/* 288 */       result[(j++)] = value;count--;
/*     */     }
/* 290 */     return j;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/* 300 */   private int zzLexicalState = 0;
/*     */   
/*     */ 
/*     */ 
/* 304 */   private char[] zzBuffer = new char['䀀'];
/*     */   
/*     */ 
/*     */ 
/*     */   private int zzMarkedPos;
/*     */   
/*     */ 
/*     */ 
/*     */   private int zzCurrentPos;
/*     */   
/*     */ 
/*     */ 
/*     */   private int zzStartRead;
/*     */   
/*     */ 
/*     */ 
/*     */   private int zzEndRead;
/*     */   
/*     */ 
/*     */ 
/*     */   private int yyline;
/*     */   
/*     */ 
/*     */ 
/*     */   private int yychar;
/*     */   
/*     */ 
/*     */   private int yycolumn;
/*     */   
/*     */ 
/* 334 */   private boolean zzAtBOL = true;
/*     */   
/*     */ 
/*     */   private boolean zzAtEOF;
/*     */   
/*     */   private boolean zzEOFDone;
/*     */   
/*     */ 
/*     */   int yychar()
/*     */   {
/* 344 */     return this.yychar;
/*     */   }
/*     */   
/* 347 */   void getTerm(CharTermAttribute t) { t.copyBuffer(this.zzBuffer, this.zzStartRead, this.zzMarkedPos - this.zzStartRead); }
/*     */   
/*     */   void getTerm(CharTermAttribute t, int offset, int len)
/*     */   {
/* 351 */     t.copyBuffer(this.zzBuffer, this.zzStartRead + offset, len);
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   UniversalLexer(Reader in)
/*     */   {
/* 363 */     this.zzReader = in;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   UniversalLexer(InputStream in)
/*     */   {
/* 373 */     this(new InputStreamReader(in));
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   private static char[] zzUnpackCMap(String packed)
/*     */   {
/* 383 */     char[] map = new char[65536];
/* 384 */     int i = 0;
/* 385 */     int j = 0;
/* 386 */     int count; for (; i < 1230; 
/*     */         
/*     */ 
/* 389 */         count > 0)
/*     */     {
/* 387 */       count = packed.charAt(i++);
/* 388 */       char value = packed.charAt(i++);
/* 389 */       map[(j++)] = value;count--;
/*     */     }
/* 391 */     return map;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   private boolean zzRefill()
/*     */     throws IOException
/*     */   {
/* 405 */     if (this.zzStartRead > 0) {
/* 406 */       System.arraycopy(this.zzBuffer, this.zzStartRead, this.zzBuffer, 0, this.zzEndRead - this.zzStartRead);
/*     */       
/*     */ 
/*     */ 
/*     */ 
/* 411 */       this.zzEndRead -= this.zzStartRead;
/* 412 */       this.zzCurrentPos -= this.zzStartRead;
/* 413 */       this.zzMarkedPos -= this.zzStartRead;
/* 414 */       this.zzStartRead = 0;
/*     */     }
/*     */     
/*     */ 
/* 418 */     if (this.zzCurrentPos >= this.zzBuffer.length)
/*     */     {
/* 420 */       char[] newBuffer = new char[this.zzCurrentPos * 2];
/* 421 */       System.arraycopy(this.zzBuffer, 0, newBuffer, 0, this.zzBuffer.length);
/* 422 */       this.zzBuffer = newBuffer;
/*     */     }
/*     */     
/*     */ 
/* 426 */     int numRead = this.zzReader.read(this.zzBuffer, this.zzEndRead, this.zzBuffer.length - this.zzEndRead);
/*     */     
/*     */ 
/* 429 */     if (numRead > 0) {
/* 430 */       this.zzEndRead += numRead;
/* 431 */       return false;
/*     */     }
/*     */     
/* 434 */     if (numRead == 0) {
/* 435 */       int c = this.zzReader.read();
/* 436 */       if (c == -1) {
/* 437 */         return true;
/*     */       }
/* 439 */       this.zzBuffer[(this.zzEndRead++)] = ((char)c);
/* 440 */       return false;
/*     */     }
/*     */     
/*     */ 
/*     */ 
/* 445 */     return true;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */   public final void yyclose()
/*     */     throws IOException
/*     */   {
/* 453 */     this.zzAtEOF = true;
/* 454 */     this.zzEndRead = this.zzStartRead;
/*     */     
/* 456 */     if (this.zzReader != null) {
/* 457 */       this.zzReader.close();
/*     */     }
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public final void yyreset(Reader reader)
/*     */   {
/* 472 */     this.zzReader = reader;
/* 473 */     this.zzAtBOL = true;
/* 474 */     this.zzAtEOF = false;
/* 475 */     this.zzEOFDone = false;
/* 476 */     this.zzEndRead = (this.zzStartRead = 0);
/* 477 */     this.zzCurrentPos = (this.zzMarkedPos = 0);
/* 478 */     this.yyline = (this.yychar = this.yycolumn = 0);
/* 479 */     this.zzLexicalState = 0;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */   public final int yystate()
/*     */   {
/* 487 */     return this.zzLexicalState;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public final void yybegin(int newState)
/*     */   {
/* 497 */     this.zzLexicalState = newState;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */   public final String yytext()
/*     */   {
/* 505 */     return new String(this.zzBuffer, this.zzStartRead, this.zzMarkedPos - this.zzStartRead);
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public final char yycharat(int pos)
/*     */   {
/* 521 */     return this.zzBuffer[(this.zzStartRead + pos)];
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */   public final int yylength()
/*     */   {
/* 529 */     return this.zzMarkedPos - this.zzStartRead;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   private void zzScanError(int errorCode)
/*     */   {
/*     */     String message;
/*     */     
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */     try
/*     */     {
/* 550 */       message = ZZ_ERROR_MSG[errorCode];
/*     */     }
/*     */     catch (ArrayIndexOutOfBoundsException e) {
/* 553 */       message = ZZ_ERROR_MSG[0];
/*     */     }
/*     */     
/* 556 */     throw new Error(message);
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public void yypushback(int number)
/*     */   {
/* 569 */     if (number > yylength()) {
/* 570 */       zzScanError(2);
/*     */     }
/* 572 */     this.zzMarkedPos -= number;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public UniversalTokenizer.TokenType next()
/*     */     throws IOException
/*     */   {
/* 590 */     int zzEndReadL = this.zzEndRead;
/* 591 */     char[] zzBufferL = this.zzBuffer;
/* 592 */     char[] zzCMapL = ZZ_CMAP;
/*     */     
/* 594 */     int[] zzTransL = ZZ_TRANS;
/* 595 */     int[] zzRowMapL = ZZ_ROWMAP;
/* 596 */     int[] zzAttrL = ZZ_ATTRIBUTE;
/*     */     for (;;)
/*     */     {
/* 599 */       int zzMarkedPosL = this.zzMarkedPos;
/*     */       
/* 601 */       this.yychar += zzMarkedPosL - this.zzStartRead;
/*     */       
/* 603 */       int zzAction = -1;
/*     */       
/* 605 */       int zzCurrentPosL = this.zzCurrentPos = this.zzStartRead = zzMarkedPosL;
/*     */       
/* 607 */       this.zzState = ZZ_LEXSTATE[this.zzLexicalState];
/*     */       
/*     */       int zzInput;
/*     */       for (;;)
/*     */       {
/*     */         int zzInput;
/* 613 */         if (zzCurrentPosL < zzEndReadL) {
/* 614 */           zzInput = zzBufferL[(zzCurrentPosL++)];
/* 615 */         } else { if (this.zzAtEOF) {
/* 616 */             int zzInput = -1;
/* 617 */             break;
/*     */           }
/*     */           
/*     */ 
/* 621 */           this.zzCurrentPos = zzCurrentPosL;
/* 622 */           this.zzMarkedPos = zzMarkedPosL;
/* 623 */           boolean eof = zzRefill();
/*     */           
/* 625 */           zzCurrentPosL = this.zzCurrentPos;
/* 626 */           zzMarkedPosL = this.zzMarkedPos;
/* 627 */           zzBufferL = this.zzBuffer;
/* 628 */           zzEndReadL = this.zzEndRead;
/* 629 */           if (eof) {
/* 630 */             int zzInput = -1;
/* 631 */             break;
/*     */           }
/*     */           
/* 634 */           zzInput = zzBufferL[(zzCurrentPosL++)];
/*     */         }
/*     */         
/* 637 */         int zzNext = zzTransL[(zzRowMapL[this.zzState] + zzCMapL[zzInput])];
/* 638 */         if (zzNext == -1) break;
/* 639 */         this.zzState = zzNext;
/*     */         
/* 641 */         int zzAttributes = zzAttrL[this.zzState];
/* 642 */         if ((zzAttributes & 0x1) == 1) {
/* 643 */           zzAction = this.zzState;
/* 644 */           zzMarkedPosL = zzCurrentPosL;
/* 645 */           if ((zzAttributes & 0x8) == 8) {
/*     */             break;
/*     */           }
/*     */         }
/*     */       }
/*     */       
/*     */ 
/* 652 */       this.zzMarkedPos = zzMarkedPosL;
/*     */       
/* 654 */       switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
/*     */       case 3: 
/* 656 */         return UniversalTokenizer.TokenType.ALNUM;
/*     */       case 10: 
/*     */         break;
/*     */       case 2: 
/* 660 */         return UniversalTokenizer.TokenType.CJK;
/*     */       case 11: 
/*     */         break;
/*     */       case 8: 
/* 664 */         return UniversalTokenizer.TokenType.ACRONYM;
/*     */       case 12: 
/*     */         break;
/*     */       case 6: 
/* 668 */         return UniversalTokenizer.TokenType.HOST;
/*     */       case 13: 
/*     */         break;
/*     */       case 1: 
/*     */       case 14: 
/*     */         break;
/*     */       
/*     */       case 9: 
/* 676 */         return UniversalTokenizer.TokenType.EMAIL;
/*     */       case 15: 
/*     */         break;
/*     */       case 7: 
/* 680 */         return UniversalTokenizer.TokenType.COMPANY;
/*     */       case 16: 
/*     */         break;
/*     */       case 4: 
/* 684 */         return UniversalTokenizer.TokenType.APOSTROPHE;
/*     */       case 17: 
/*     */         break;
/*     */       case 5: 
/* 688 */         return UniversalTokenizer.TokenType.NUM;
/*     */       case 18: 
/*     */         break;
/*     */       default: 
/* 692 */         if ((zzInput == -1) && (this.zzStartRead == this.zzCurrentPos)) {
/* 693 */           this.zzAtEOF = true;
/* 694 */           return null;
/*     */         }
/*     */         
/* 697 */         zzScanError(1);
/*     */       }
/*     */     }
/*     */   }
/*     */ }


/* Location:              /home/mint/zimbrastore.jar!/com/zimbra/cs/index/analysis/UniversalLexer.class
 * Java compiler version: 7 (51.0)
 * JD-Core Version:       0.7.1
 */